package com.ruoyi.project.park.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 停车会员卡管理对象 biz_parking_card
 * 
 * @author ruoyi
 * @date 2024-04-08
 */
public class BizParkingCard extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private String id;

    /** 停车卡的唯一编号 */
    @Excel(name = "停车卡的唯一编号")
    private String cardNumber;

    /** 持卡人姓名 */
    @Excel(name = "持卡人姓名")
    private String customerName;

    /** 持卡人的手机号码 */
    @Excel(name = "持卡人的手机号码")
    private String mobileNumber;

    /** 持卡人的身份证件号码 */
    @Excel(name = "持卡人的身份证件号码")
    private String idNumber;

    /** 停车卡的有效期起始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "停车卡的有效期起始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validityStart;

    /** 停车卡的有效期结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "停车卡的有效期结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validityEnd;

    /** 车牌号码 */
    @Excel(name = "车牌号码")
    private String vehicleLicensePlate;

    /** 车型信息 */
    @Excel(name = "车型信息")
    private String vehicleType;

    /** 停车卡当前的账户余额（单位：元） */
    @Excel(name = "停车卡当前的账户余额", readConverterExp = "单=位：元")
    private BigDecimal balance;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setCardNumber(String cardNumber) 
    {
        this.cardNumber = cardNumber;
    }

    public String getCardNumber() 
    {
        return cardNumber;
    }
    public void setCustomerName(String customerName) 
    {
        this.customerName = customerName;
    }

    public String getCustomerName() 
    {
        return customerName;
    }
    public void setMobileNumber(String mobileNumber) 
    {
        this.mobileNumber = mobileNumber;
    }

    public String getMobileNumber() 
    {
        return mobileNumber;
    }
    public void setIdNumber(String idNumber) 
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber() 
    {
        return idNumber;
    }
    public void setValidityStart(Date validityStart) 
    {
        this.validityStart = validityStart;
    }

    public Date getValidityStart() 
    {
        return validityStart;
    }
    public void setValidityEnd(Date validityEnd) 
    {
        this.validityEnd = validityEnd;
    }

    public Date getValidityEnd() 
    {
        return validityEnd;
    }
    public void setVehicleLicensePlate(String vehicleLicensePlate) 
    {
        this.vehicleLicensePlate = vehicleLicensePlate;
    }

    public String getVehicleLicensePlate() 
    {
        return vehicleLicensePlate;
    }
    public void setVehicleType(String vehicleType) 
    {
        this.vehicleType = vehicleType;
    }

    public String getVehicleType() 
    {
        return vehicleType;
    }
    public void setBalance(BigDecimal balance) 
    {
        this.balance = balance;
    }

    public BigDecimal getBalance() 
    {
        return balance;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("cardNumber", getCardNumber())
            .append("customerName", getCustomerName())
            .append("mobileNumber", getMobileNumber())
            .append("idNumber", getIdNumber())
            .append("validityStart", getValidityStart())
            .append("validityEnd", getValidityEnd())
            .append("vehicleLicensePlate", getVehicleLicensePlate())
            .append("vehicleType", getVehicleType())
            .append("balance", getBalance())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
